package org.example.aspect;

import org.aspectj.lang.annotation.Aspect;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 作用于方法上，也可以作用于一个类的上面
 * 为什么要写一个注解
 * 是因为实现aop的方式有基于aspect和自定义注解
 * 还有静态代理和动态代理
 *  自定义注解是因为我们在annotation其他注解的时候，如果这种注解只使用了一种且一个时候，这时候就可以使用
 *  但是如果有多个地方使用这种类型的注解的时候，我们并不想让其他地方使用aop的时候，这时候自定义注解就派上了用场
 */
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface TimeRecord {
}
